//*EDGJDSN  JOB <JOB CARD PARAMETERS>
//*
//*********************************************************************
//* DFSMS/MVS 1.5.0 DFSMSrmm                                          *
//*                                                                   *
//* PROPRIETARY V3 STATEMENT                                          *
//* LICENSED MATERIALS - PROPERTY OF IBM                              *
//* "RESTRICTED MATERIALS OF IBM"                                     *
//* 5695-DF1                                                          *
//* (C) COPYRIGHT 1993,2000  IBM CORP.                                *
//* STATUS = HDZ11E0                                                  *
//* END PROPRIETARY V3 STATEMENT                                      *
//*********************************************************************
//*
//* RMM report on data sets sorted by data set name
//* -----------------------------------------------
//* Reads the RMM extract file and creates a report of data sets,
//* sorted by data set name and the number of data sets per status
//* (SCRATCH or PRIVATE).
//*
//* INPUT: EXTRACT DD CARD - RMM extract file
//*
//* OUTPUT:RMMDSN  DD CARD - Data Sets Sorted by Name
//*        RMMDSNS DD CARD - Data Set Counts by Status
//*
//*        displayed information includes:
//*           DSNAME, VOLSER, DATASET SEQ#, VOL SEQ#, CREATE DATE,
//*           MANAGEMENT CLASS, VRS MANAGEMENT VALUE, STATUS
//*
//* Change History:
//* $LG=           ,990924,AH : DFSORT Symbols                     LGA
//*
//*********************************************************************
//CLEAN    EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  DELETE 'RMM.REPORT.DSN'
  DELETE 'RMM.REPORT.DSNS'
//*********************************************************************
//STEP1    EXEC PGM=ICETOOL
//SYMNAMES DD DISP=SHR,DSN=RMM.ICETOOL.SYMNAMES(EDGEXTSY)          @LGA
//SYMNOUT  DD SYSOUT=*   ICETOOL SYMBOLICS                         @LGA
//TOOLMSG  DD SYSOUT=*   ICETOOL MESSAGES
//DFSMSG   DD SYSOUT=*   DFSORT  MESSAGES
//TOOLIN   DD *          CONTROL STATEMENTS
  COPY FROM(EXTRACT) USING(DSNS)
  SORT FROM(CONCAT)  TO(DSNF)    USING(DSNF)
  DISPLAY FROM(DSNF) LIST(RMMDSN) -
     TITLE('DFSMSrmm - Data Sets Sorted by Name') DATE TIME PAGE -
     HEADER('DSNAME') ON(RDDSNAME) -
     HEADER('VOLSER') ON(RDVOLSER) -
     HEADER('DSEQ')   ON(RDDSNSEQ) -
     HEADER('VSEQ')   ON(RDVOLSEQ) -
     HEADER('CRDATE') ON(RDCRDATE) -
     HEADER('MCLASS') ON(RDMCNAME) -
     HEADER('VRSVAL') ON(RDVRSVAL) -
     HEADER('STATUS') ON(RDOWNDSN) -
     BLANK
  OCCUR FROM(DSNF) LIST(RMMDSNS) -
     TITLE('DFSMSrmm - Data Set Counts by Status') DATE TIME PAGE -
     BLANK -
     HEADER('STATUS') ON(RDOWNDSN) -
     HEADER('COUNT') ON(VALCNT)
//EXTRACT  DD DSN=RMM.EXTRACT.FILE,DISP=SHR
//DSNST    DD DSN=&&TEMP1,REFDD=*.EXTRACT,SPACE=(CYL,(10,10)),
//         UNIT=SYSALLDA
//DSNPT    DD DSN=&&TEMP2,REFDD=*.EXTRACT,SPACE=(CYL,(10,10)),
//         UNIT=SYSALLDA
//CONCAT   DD DSN=*.DSNST,VOL=REF=*.DSNST,DISP=(OLD,PASS)
//         DD DSN=*.DSNPT,VOL=REF=*.DSNPT,DISP=(OLD,PASS)
//DSNF     DD DSN=&&TEMP3,REFDD=*.EXTRACT,SPACE=(CYL,(10,10)),
//         UNIT=SYSALLDA
//DSNSCNTL DD *
* Just data records.
  INCLUDE COND=(RDTYPE,EQ,RDTYPEID)
* Just data set records that have a null or blank RDOWNDSN field
  OUTFIL FNAMES=DSNST,
    INCLUDE=(RDOWNDSN,EQ,C' ',OR,RDOWNDSN,EQ,X'00'),
    OUTREC=(1,150,C'SCRATCH ',159),VLFILL=C' '
* Just data set records that do not have a null or blank
* RDOWNDSN field
  OUTFIL FNAMES=DSNPT,SAVE,
    OUTREC=(1,150,C'PRIVATE ',159),VLFILL=C' '
  OPTION VLSHRT
//DSNFCNTL DD *          DFSORT STATEMENTS - SORT DSNAME
  SORT FIELDS=(RDDSNAME,A)       SORT ON DSNAME                    @LGC
//RMMDSN   DD DSN=RMM.REPORT.DSN,DISP=(,CATLG,DELETE),
//  LRECL=121,DSORG=PS,RECFM=FB,AVGREC=K,SPACE=(121,(9,9),RLSE)
//RMMDSNS  DD DSN=RMM.REPORT.DSNS,DISP=(,CATLG,DELETE),
//  LRECL=121,DSORG=PS,RECFM=FB,AVGREC=K,SPACE=(121,(9,9),RLSE)
